/* 
 * File:   Quadrado.cpp
 * Author: filiagees
 * 
 * Created on March 10, 2013, 12:46 AM
 */

#include "config.h"

#include "Quadrado.h"
#include "Figura_grafica.h"
#include "Utils.h"

Quadrado::Quadrado() {
    //int maxLado, unused;
    int lado, minLado;
    float r,g,b,a;
    
    //get_tam_min(&minLado, &unused);
    //get_tam_max(&maxLado, &unused);
    //Utils::rand_num(minLado, maxLado);
    
#if 0
    // Randomiza posicao
    lado = Utils::rand_num(50, 150); 
    Utils::rand_coord( &this->xInfDir, &this->yInfDir);    
    this->xSupEsq = this->xInfDir - lado;
    this->ySupEsq = this->yInfDir - lado;
#else
    // Posicao estatica (testes)
    xSupEsq = 0;
    ySupEsq = 50;
    xInfDir = 50;
    yInfDir = 0;
#endif
    
#ifdef HAVE_OPENGL
    //glPointSize(20.0f);  
    Utils::rand_color(&r, &g, &b, &a);
    glColor3f(r,g,b);
    glBegin(GL_POLYGON); // Start drawing a point primitive  
        glVertex3f(this->xSupEsq, this->yInfDir, 0.0f); // The bottom left corner  
        glVertex3f(this->xSupEsq, this->ySupEsq, 0.0f); // The top left corner  
        glVertex3f(this->xInfDir, this->ySupEsq, 0.0f); // The top right corner  
        glVertex3f(this->xInfDir, this->yInfDir, 0.0f); // The bottom right corner  
    glEnd();
#else
    cout << "Warning! Undefined: '__GLUT_H__'";
#endif    
}

Quadrado::Quadrado(const Quadrado& orig) {
}

Quadrado::~Quadrado() {
}

bool Quadrado::is_point_inside(const unsigned int x, const unsigned int y){
    if( (this->xSupEsq < x) && (x < this->xInfDir)  //< horizontal
    &&  (this->yInfDir < y) && (y < this->ySupEsq)  //< vertical
    ){
        return true;
    }else{
        return false;
    }
}
